﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Actuals.Common
{
  
        public delegate TResult Func<TResult>();

        public delegate TResult Func<T1, TResult>(T1 type1);

        public delegate TResult Func<T1, T2, TResult>(T1 type1, T2 type2);

        public delegate TResult Func<T1, T2, T3, TResult>(T1 type1, T2 type2, T3 type3);

        public delegate TResult Func<T1, T2, T3, T4, TResult>(T1 type1, T2 type2, T3 type3, T4 type4);

        public delegate TResult Func<T1, T2, T3, T4, T5, TResult>(T1 type1, T2 type2, T3 type3, T4 type4, T5 type5);

        public delegate void Void<T1>(T1 type1);

        public delegate void Void<T1, T2>(T1 type1, T2 type2);

        public delegate void Void<T1, T2, T3>(T1 type1, T2 type2, T3 type3);

        public delegate void Void<T1, T2, T3, T4>(T1 type1, T2 type2, T3 type3, T4 type4);

        public delegate void Void<T1, T2, T3, T4, T5>(T1 type1, T2 type2, T3 type3, T4 type4, T5 type5);
   
}
